Deploy a .NET application on Microsoft Azure Cobalt 100 VMs
Introduction
Background
Build and deploy a .NET application
Next Steps
Deploy a .NET application on Microsoft Azure Cobalt 100 VMs
Who is this for?
This is an advanced topic for software developers who want to develop cloud-native applications using GitHub Actions and Azure Kubernetes Service (AKS), and run them on Microsoft Azure Cobalt 100 VMs.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Configure an Azure Cobalt 100 VM as a self-hosted GitHub runner.
- Create an AKS cluster with Arm-based Azure Cobalt 100 nodes using Terraform.
- Deploy a .NET application to AKS with GitHub Actions using the self-hosted Arm64-based runner.
Prerequisites
Before starting, you will need the following:
- A Microsoft Azure account.
- A GitHub account.
- A machine with Terraform , Azure CLI , and Kubectl installed.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
arm64. With Terraform, you’ll create an Azure Kubernetes Service (AKS) cluster backed by Cobalt 100-based nodes, then use a GitHub Actions workflow to deploy the application to the cluster. Along the way, you’ll select an appropriate Cobalt 100-based VM series for the runner, confirm the runner is available to execute jobs, and validate that the workload targets the Arm-based AKS nodes. The result is a working CI/CD path from source to a running application on Azure Cobalt 100 infrastructure.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
arm64 runners are generally available for Team and Enterprise Cloud accounts. If your account qualifies, you can use hosted arm64 runners instead of a self-hosted runner.arm64 nodes as intended.